package com.plian.system.entity.pf;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.plian.system.mybatis.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * @description: 职工工资发放表_集团
 * @author: gangan
 * @create: 2020-05-28 16:45
 */
@Data
@TableName("pf_grant_salary")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "GrantSalary对象", description = "职工工资发放表")
public class GrantSalary extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主表id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "主表id")
    private Long baseGrantSalaryId;

    /**
     * 集团工资统计类型
     */
    @ApiModelProperty(value = "集团工资统计类型")
    private String countCategoryId;

    /**
     * 本月份发薪平均人数
     */
    @TableField(value = "on_job_number",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本月份发薪平均人数")
    private BigDecimal onJobNumber;

    /**
     * 至上月累计在岗人数
     */
    @TableField(value = "on_job_last_total_number",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal onJobLastTotalNumber;

    /**
     * 本年累计发薪人数 汇总表特有
     */
    @TableField(value = "on_job_total_number",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本年累计发薪人数 汇总表特有")
    private BigDecimal onJobTotalNumber;

    /**
     * 本月份实发工资总额（万元）
     */
    @TableField(value = "actual_grant_amount",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本月份实发工资总额（万元）")
    private BigDecimal actualGrantAmount;

    /**
     * 本月份实际计提数（万元）
     */
    @TableField(value = "actual_provision_this_month",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本月份实际计提数（万元）")
    private BigDecimal actualProvisionThisMonth;

    /**
     * 至上月累计发放金额
     */
    @TableField(value = "last_cumulative_grant_amount",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal lastCumulativeGrantAmount;

    /**
     * 至上月累计计提
     */
    @TableField(value = "actual_provision_to_last_month",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal actualProvisionToLastMonth;

    /**
     * 本年累计实发工资总额（万元）
     */
    @TableField(value = "cumulative_grant_amount",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本年累计实发工资总额（万元）")
    private BigDecimal cumulativeGrantAmount;

    /**
     * 本年累计实际计提数（万元）
     */
    @TableField(value = "cumulative_provision_this_year",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本年累计实际计提数（万元）")
    private BigDecimal cumulativeProvisionThisYear;


    /**
     * 本年度预算工资总额
     */
    @TableField(value = "budget",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本年度预算工资总额")
    private BigDecimal budget;

    /**
     * 工资发放进度%
     */
    @TableField(value = "grant_progress",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "工资发放进度%")
    private BigDecimal grantProgress;

    /**
     * 上年度实发工资总额（万元）
     */
    @TableField(value = "last_year_salary",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "上年度实发工资总额（万元）")
    private BigDecimal lastYearSalary;

    /**
     * 上年度实际计提数（万元)
     */
    @TableField(value = "actual_provision_last_year",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "上年度实际计提数（万元)")
    private BigDecimal actualProvisionLastYear;

    /**
     * 上年度平均发薪人数
     */
    @TableField(value = "actual_people_number",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "上年度平均发薪人数")
    private BigDecimal actualPeopleNumber;

    /**
     * 上年度平均工资（万元/人/年）
     */
    @TableField(value = "average_salary",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "上年度平均工资（万元/人/年）")
    private BigDecimal averageSalary;

    /**
     * 本月份人工成本总额（集团汇总数）（万元）汇总表特有
     */
    @TableField(value = "artificial_cost",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本月份人工成本总额（集团汇总数）（万元）汇总表特有")
    private BigDecimal artificialCost;

    /**
     * 本年度累计人工成本总额（集团汇总数）（万元）汇总表特有
     */
    @TableField(value = "cumulative_artificial_cost",updateStrategy = FieldStrategy.IGNORED)
    @ApiModelProperty(value = "本年度累计人工成本总额（集团汇总数）（万元）汇总表特有")
    private BigDecimal cumulativeArtificialCost;

    /**
     * 至上月累计人工成本总额（万元）
     */
    @TableField(value = "last_artificial_cost",updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal lastArtificialCost;

    /**
     * 备注
     */
    @ApiModelProperty(value = "单据编码")
    private String remark;


}
